Autogenerated HTML docs for v2.1.0-238-gce1d3 
diff --git a/RelNotes/2.2.0.txt b/RelNotes/2.2.0.txt index f771854..22b7361 100644 --- a/RelNotes/2.2.0.txt +++ b/RelNotes/2.2.0.txt 
@@ -25,6 +25,15 @@    Performance, Internal Implementation, etc.   + * The API to manipulate the "refs" is currently undergoing a revamp + to make it more transactional, with the eventual goal to allow + all-or-none atomic updates and migrating the storage to something + other than the traditional filesystem based one (e.g. databases). + + * We no longer attempt to keep track of individual dependencies to + the header files in the build procedure, relying on automated + dependency generation support from modern compilers. +  * In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites  long before negated prerequisites e.g. !MINGW were invented.  The former has been converted to the latter to avoid confusion. @@ -37,12 +46,25 @@  to update the file again while still holding the lock, but the  lockfile API lacked support for such an access pattern.   + * The API to allocate the structure to keep track of commit + decoration has been updated to make it less cumbersome to use. +  * An in-core caching layer to let us avoid reading the same - configuration files number of times has been added. + configuration files number of times has been added. A few commands + have been converted to use this subsystem.    * Various code paths have been cleaned up and simplified by using  "strbuf", "starts_with()", and "skip_prefix()" APIs more.   + * A few codepaths that died when large blobs that would not fit in + core are involved in their operation have been taught to punt + instead, by e.g. marking too large a blob as not to be diffed. + + * A few more code paths in "commit" and "checkout" have been taught + to repopulate the cache-tree in the index, to help speed up later + "write-tree" (used in "commit") and "diff-index --cached" (used in + "status"). +    Also contains various documentation updates and code clean-ups.   @@ -89,3 +111,22 @@    * Pack-protocol documentation had a minor typo.  (merge 5d146f7 sp/pack-protocol-doc-on-shallow later to maint). + + * "git checkout -m" did not switch to another branch while carrying + the local changes forward when a path was deleted from the index. + (merge 6a143aa jn/unpack-trees-checkout-m-carry-deletion later to maint). + + * With sufficiently long refnames, "git fast-import" could have + overflown an on-stack buffer. + (merge c252785 jk/fast-import-fixes later to maint). + + * After "pack-refs --prune" packed refs at the top-level, it failed + to prune them. + (merge afd11d3 jk/prune-top-level-refs-after-packing later to maint). + + * Progress output from "git gc --auto" was visible in "git fetch -q". + (merge 6fceed3 nd/fetch-pass-quiet-to-gc-child-process later to maint). + + * We used to pass -1000 to poll(2), expecting it to also mean "no + timeout", which should be spelled as -1. + (merge 6c71f8b et/spell-poll-infinite-with-minus-one-only later to maint). 
diff --git a/config.txt b/config.txt index c55c22a..3b5b24a 100644 --- a/config.txt +++ b/config.txt 
@@ -499,7 +499,8 @@ 	Files larger than this size are stored deflated, without 	attempting delta compression. Storing large files without 	delta compression avoids excessive memory usage, at the -	slight expense of increased disk usage. +	slight expense of increased disk usage. Additionally files +	larger than this size are always treated as binary.  +  Default is 512 MiB on all platforms. This should be reasonable  for most projects as source code and other text files can still 
diff --git a/git-config.html b/git-config.html index eca75af..c459a4b 100644 --- a/git-config.html +++ b/git-config.html 
@@ -2019,7 +2019,8 @@  Files larger than this size are stored deflated, without   attempting delta compression. Storing large files without   delta compression avoids excessive memory usage, at the  - slight expense of increased disk usage.  + slight expense of increased disk usage. Additionally files  + larger than this size are always treated as binary.   </p>   <div class="paragraph"><p>Default is 512 MiB on all platforms. This should be reasonable   for most projects as source code and other text files can still  
diff --git a/gitattributes.html b/gitattributes.html index 2b86d34..997c6fb 100644 --- a/gitattributes.html +++ b/gitattributes.html 
@@ -1209,8 +1209,8 @@  <p>   A path to which the <tt>diff</tt> attribute is unspecified   first gets its contents inspected, and if it looks like  - text, it is treated as text. Otherwise it would  - generate <tt>Binary files differ</tt>.  + text and is smaller than core.bigFileThreshold, it is treated  + as text. Otherwise it would generate <tt>Binary files differ</tt>.   </p>   </dd>   <dt class="hdlist1">  @@ -1857,7 +1857,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-01-27 13:30:07 PST  +Last updated 2014-09-11 14:53:10 PDT   </div>   </div>   </body>  
diff --git a/gitattributes.txt b/gitattributes.txt index 643c1ba..9b45bda 100644 --- a/gitattributes.txt +++ b/gitattributes.txt 
@@ -440,8 +440,8 @@   	A path to which the `diff` attribute is unspecified 	first gets its contents inspected, and if it looks like -	text, it is treated as text. Otherwise it would -	generate `Binary files differ`. +	text and is smaller than core.bigFileThreshold, it is treated +	as text. Otherwise it would generate `Binary files differ`.    String::   
diff --git a/technical/api-config.html b/technical/api-config.html index 94a9a65..3ddf2ba 100644 --- a/technical/api-config.html +++ b/technical/api-config.html 
@@ -961,6 +961,27 @@  the user&#8217;s home directory when found at the beginning of the path.   </p>   </dd>  +<dt class="hdlist1">  +<tt>git_die_config(const char *key, const char *err, ...)</tt>  +</dt>  +<dd>  +<p>  + First prints the error message specified by the caller in <tt>err</tt> and then  + dies printing the line number and the file name of the highest priority  + value for the configuration variable <tt>key</tt>.  +</p>  +</dd>  +<dt class="hdlist1">  +<tt>void git_die_config_linenr(const char *key, const char *filename, int linenr)</tt>  +</dt>  +<dd>  +<p>  + Helper function which formats the die error message according to the  + parameters entered. Used by <tt>git_die_config()</tt>. It can be used by callers  + handling <tt>git_config_get_value_multi()</tt> to print the correct error message  + for the desired value.  +</p>  +</dd>   </dl></div>   <div class="paragraph"><p>See test-config.c for usage examples.</p></div>   </div>  @@ -1197,7 +1218,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-09-02 14:43:52 PDT  +Last updated 2014-09-11 14:53:10 PDT   </div>   </div>   </body>  
diff --git a/technical/api-config.txt b/technical/api-config.txt index 21f280c..0d8b99b 100644 --- a/technical/api-config.txt +++ b/technical/api-config.txt 
@@ -155,6 +155,19 @@ 	Similar to `git_config_get_string`, but expands `~` or `~user` into 	the user's home directory when found at the beginning of the path.   +`git_die_config(const char *key, const char *err, ...)`:: + +	First prints the error message specified by the caller in `err` and then +	dies printing the line number and the file name of the highest priority +	value for the configuration variable `key`. + +`void git_die_config_linenr(const char *key, const char *filename, int linenr)`:: + +	Helper function which formats the die error message according to the +	parameters entered. Used by `git_die_config()`. It can be used by callers +	handling `git_config_get_value_multi()` to print the correct error message +	for the desired value. +  See test-config.c for usage examples.    Value Parsing Helpers 
diff --git a/technical/api-run-command.html b/technical/api-run-command.html index e9b94d7..d690c94 100644 --- a/technical/api-run-command.html +++ b/technical/api-run-command.html 
@@ -751,6 +751,11 @@  <div class="sect1">   <h2 id="_functions">Functions</h2>   <div class="sectionbody">  +<div class="paragraph"><p><tt>child_process_init</tt></p></div>  +<div class="literalblock">  +<div class="content">  +<pre><tt>Initialize a struct child_process variable.</tt></pre>  +</div></div>   <div class="dlist"><dl>   <dt class="hdlist1">   <tt>start_command</tt>  @@ -885,8 +890,8 @@  <div class="olist arabic"><ol class="arabic">   <li>   <p>  -allocates and clears (memset(&amp;chld, 0, sizeof(chld));) a  - struct child_process variable;  +allocates and clears (using child_process_init() or  + CHILD_PROCESS_INIT) a struct child_process variable;   </p>   </li>   <li>  @@ -1159,7 +1164,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-06-16 14:13:22 PDT  +Last updated 2014-09-11 14:53:10 PDT   </div>   </div>   </body>  
diff --git a/technical/api-run-command.txt b/technical/api-run-command.txt index 69510ae..842b838 100644 --- a/technical/api-run-command.txt +++ b/technical/api-run-command.txt 
@@ -13,6 +13,10 @@  Functions  ---------   +`child_process_init` + +	Initialize a struct child_process variable. +  `start_command`::   	Start a sub-process. Takes a pointer to a `struct child_process` @@ -96,8 +100,8 @@    The caller:   -1. allocates and clears (memset(&chld, 0, sizeof(chld));) a - struct child_process variable; +1. allocates and clears (using child_process_init() or + CHILD_PROCESS_INIT) a struct child_process variable;  2. initializes the members;  3. calls start_command();  4. processes the data;